package com.psp.park.service;

import com.psp.park.controller.res.bean.RConfirmOrderProductBean;
import com.psp.park.controller.res.bean.ROrderDetailBean;
import com.psp.park.controller.res.bean.ROrderListBean;
import com.psp.park.model.OrderBean;
import com.psp.park.service.exception.ServiceException;
import com.psp.park.service.impl.PageResult;

public interface OrderService {

	/**
	 * 获取订单详情
	 * 
	 * @param uid
	 * @param oid
	 * @return
	 */
	ROrderDetailBean getDetail(String puid, String oid);

	/**
	 * 获取确认订单中的服务信息
	 * 
	 * @param uid
	 * @param pid
	 * @param skuCode
	 * @return
	 */
	RConfirmOrderProductBean getOrderProduct(String puid, String pid, String skuCode) throws ServiceException;

	/**
	 * 订单列表
	 * 
	 * @param adminId
	 * 
	 * @param page
	 *            当前请求页，从0开始
	 * @param pageSize
	 *            当前请求页的大小 10
	 * @param orderNo
	 * @param uid
	 *            用户id
	 * @param state
	 *            订单状态
	 * @return
	 */
	PageResult<ROrderListBean> getList(String adminId, int page, int pageSize, String orderNo, int state);

	/**
	 * 下单
	 * 
	 * @param uid
	 * @param oid
	 * @return
	 */
	boolean receive(String uid, String oid) throws ServiceException;

	/**
	 * 园区端业务员帮助来访客户下单--协助
	 * 
	 * @param userId
	 * @param pid
	 * @param uid
	 * @param skuCode
	 * @param addresseeAid
	 * @param invoiceHeaderId
	 * @param invoiceAid
	 * @return
	 */
	OrderBean assistOrder(String userId, String pid, String uid, String skuCode, String addresseeAid,
			String invoiceHeaderId, String invoiceAid) throws ServiceException;

}
